## -*- coding: UTF-8 -*-
#
#import random
#import Systeme
#import entite
#import math
#from datetime import datetime
#
#class Galaxie :
#    def __init__ (self, seed, joueurs, worldSize):
#        tstart = datetime.now()
#        
#        self.seed = seed
#        self.joueurs = joueurs
#        self.worldSize = worldSize
#        
#        random.seed(self.seed)
#        
#        self.listeRessources = []
#        self.listeEntites = []
#        self.listeSystemes = []
#        self.listeTrouDeVerre = []
#        self.listeNoms = []
#        
#        self.genererListeNoms()
#        self.genererSystemesV2(25)
#        self.genererEmplacementDepart()
#        
#        #Pour generer des unites sur TOUTES les planetes
#        #for systeme in self.listeSystemes:
#        #    for planete in systeme.listePlanetes:
#        #        planete.genererEmplacementDepart(self.joueurs)
#        
#        tend = datetime.now()
#        
#        print(tend - tstart)
#        print("génération terminée")
#######################################
########
########  MÉTHODE DE GÉNÉRATION
########
#######################################
#
#    def genererListeNoms(self):
#        self.list1 = ["La", "Le", "Lo", "Li", "Lu", "Ly", "Da", "De", "Do", "Di", "Du", "Dy", "Ma", "Me", "Mo", "Mi", "Mu", "My" , "Pen"]
#        self.list2 = ["lon", "ton", "son", "don", "mon", "lan", "tan", "san", "dan", "man" , "lor", "tor", "sor", "dor", "mor", "is", "tra", "tri", "tru", "tro", "tre"]
#        self.list3 = ["myr", "tyr", "syr", "dyr", "lyr" , "da", "de", "do", "di", "du", "dy", "ba", "be", "by", "bo", "bu" , "noune"]
#        
#        #Generation de noms de systemes a deux syllabes
#        for x in range(len(self.list1) - 1):
#            for y in range(len(self.list2) - 1):
#                self.listeNoms.append(self.list1[x] + self.list2[y])
#                
#        #Generation de noms de systemes a trois syllabes
#        for x in range(len(self.list1) - 1):
#            for y in range(len(self.list2) - 1):
#                for z in range(len(self.list3) - 1):
#                    self.listeNoms.append(self.list1[x] + self.list2[y] + self.list3[z])
#                    
#        print(len(self.listeNoms))
#
#		
#    def genererSystemesV2(self, nombreSysteme):
#        zone = int(self.worldSize / math.sqrt(nombreSysteme))
#        IDSysteme = 0
#        
#        for x in range(int(math.sqrt(nombreSysteme))):
#            for y in range(int(math.sqrt(nombreSysteme))):
#                nomSysteme = self.listeNoms.pop(random.randint(1, len(self.listeNoms) - 1))
#                self.listeSystemes.append((Systeme.Systeme(self, IDSysteme, self.seed + IDSysteme, nomSysteme, random.randint(5, zone - 5) + x * zone, random.randint(5, zone - 5) + y * zone, self.worldSize)))
#                IDSysteme = IDSysteme + 1
#                
#    def collecterRessourcesSurChaquePlanete(self, frame, joueur):
#        if frame % 20 == 0: 
#            for systeme in self.listeSystemes:
#                for planete in systeme.listePlanetes:
#                    planete.collecterRessources(joueur)
#    
#    
#    def genererEmplacementDepart(self):
#        #Pour chaque joueur, choisis un systeme solaire de départ selon un un Cadran de la galaxie
#        # Joueur 1: en haut a gauche
#        # Joueut 2: en bas a droite ... etc
#        zone = int(self.worldSize / 3)
#        
#        print(self.joueurs)
#        for n in range(len(self.joueurs)):
#            if n == 0: ## haut gauche
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX < zone and self.listeSystemes[i].posY < zone:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            if n == 1: ## bas droite
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX > zone * 2 and self.listeSystemes[i].posY > zone * 2:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            if n == 2: ## 
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX > zone * 2 and self.listeSystemes[i].posY < zone:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            if n == 3:
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX < zone and self.listeSystemes[i].posY > zone * 2:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            if n == 4:  # haut milieu
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX > zone and self.listeSystemes[i].posX < zone * 2 and self.listeSystemes[i].posY < zone:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            if n == 5: # bas milieu
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX < zone and self.listeSystemes[i].posX < zone * 2 and self.listeSystemes[i].posY > zone * 2:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            if n == 6: # droite milieu
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX > zone * 2 and self.listeSystemes[i].posY > zone and self.listeSystemes[i].posY < zone * 2:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            if n == 7: # gauche milieu
#                for i in range(len(self.listeSystemes)):
#                    if self.listeSystemes[i].posX < zone and self.listeSystemes[i].posY > zone and self.listeSystemes[i].posY < zone * 2:
#                        self.listeSystemes[i].trouverPlaneteDepart(self.joueurs[n], n)
#                        break
#            
#        
#    def genererTrouDeVerre(self, nombreTrouDeVerre): # pas complet
#        for nb in range(nombreTrouDeVerre):
#            TrouDeVerreEnPlace = False
#
#            while not TrouDeVerreEnPlace:
#                posX = random.randint(1, self.worldSize)
#                posY = random.randint(1, self.worldSize)
#                if len(self.listeTrouDeVerre) == 0:
#                    self.listeTrouDeVerre.append([posX, posY])
#                else:
#                    for i in range(len(self.listeTrouDeVerre)):
#                        if posX > self.listeTrouDeVerre[i][0].posX - 10 and posX < self.listeTrouDeVerre[i][0].posX + 10 and posY > self.listeTrouDeVerre[i][1].posY - 5 and posY < self.listeTrouDeVerre[i][1].posY + 5:
#                            TrouDeVerreEnPlace = False
#                            #print("false")
#                            break 
#                        else:
#                            TrouDeVerreEnPlace = True
#                            #print("true")
#                            
#                    if TrouDeVerreEnPlace == True:
#                        self.listeTrouDeVerre.append([posX, posY])
#                        
#######################################
########
########  MÉTHODE D'ACCÈS
########
#######################################
#
#    def constructionPossible(self,joueur):
#        return False
#                    
#    def vuePlaneteDepart(self, nomJoueur):
#        for systeme in self.listeSystemes:
#            for planete in systeme.listePlanetes:
#                for i in range(len(planete.listeEntites)):
#                    if planete.listeEntites[i].joueur == nomJoueur:
#                        print(planete.listeEntites[i].joueur)
#                        #for r in range(len(systeme.ressourcesJoueur)):
#                        systeme.ressourcesJoueur[0]=200
#                        systeme.ressourcesJoueur[1]=200
#                        systeme.ressourcesJoueur[2]=200
#                        systeme.ressourcesJoueur[3]=200
#                        return planete    
#                        
#    def typeVue(self):
#        return "Galaxie"
#
#    def systemeSelectionnee(self, posX, posY):
#        for i in range(len(self.listeSystemes)):
#            if self.listeSystemes[i].posX == posX and self.listeSystemes[i].posY == posY:
#                return self.listeSystemes[i]
#        
#    def estVueSystemePossible(self, systeme, nomJoueur):
#        for i in range(len(systeme.listeEntites)):
#            if systeme.listeEntites[i].joueur.nom == nomJoueur:
#                return True
#        return False
#            
#    def trouverSystemeParID(self, ID):
#        for systeme in self.listeSystemes:
#            if systeme.ID == ID:
#                return systeme
#
#    def trouverEntiteParId(self, id):
#        for entite in self.listeEntites:
#            if entite.id == id:
#                return entite
#            
#        return None
#              
#class test :
#    def __init__(self):
#
#        galaxie = Galaxie(999, 2)
#        for i in range(len(galaxie.listeSystemes)):
#            print(galaxie.listeSystemes[i].nom)
#            print(str(galaxie.listeSystemes[i].posX) + " " + str(galaxie.listeSystemes[i].posY))
#        n = input()
#        
#if __name__ == '__main__':
#    test = test()
#    print("Fin")
